package ar.uba.is2.common.mensaje.test1;

import static ar.uba.is2.common.mensaje.MensajeTestContext.componente1;
import static ar.uba.is2.common.mensaje.MensajeTestContext.componente2;
import static ar.uba.is2.common.mensaje.MensajeTestContext.crearMensaje;

import java.io.File;

import ar.uba.is2.common.mensaje.Mensaje;
import ar.uba.is2.common.mensaje.puerto.PuertoEntrada;
import ar.uba.is2.common.mensaje.puerto.PuertoSalida;
import ar.uba.is2.common.mensaje.puerto.impl.PuertoArchivo;

public class EnviarMensajeMain {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		try {
			File salida = new File("../prueba.txt");
			File entrada = new File("../prueba.txt");
			
			PuertoSalida puertoIn = new PuertoArchivo(entrada, salida);
			
			Mensaje mensaje = crearMensaje(componente1, componente2, "hola");
			puertoIn.enviarMensaje(mensaje);
			Mensaje mensaje2 = crearMensaje(componente1, componente2, "como te va?");
			puertoIn.enviarMensaje(mensaje2);
			Mensaje mensaje3 = crearMensaje(componente1, componente2, "bien y vos?");
			puertoIn.enviarMensaje(mensaje3);
			Mensaje mensaje4 = crearMensaje(componente1, componente2, "chau");
			puertoIn.enviarMensaje(mensaje4);
			
			System.out.println("leyendo mensajes");
			
			PuertoEntrada puertoOut = (PuertoEntrada) puertoIn;
			System.out.println(puertoOut.leerMensaje());
			System.out.println(puertoOut.leerMensaje());
			System.out.println(puertoOut.leerMensaje());
			System.out.println(puertoOut.leerMensaje());
			
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
